<?php

namespace app\model;

use think\Model;
use think\model\relation\BelongsTo;

class UserSignin extends Model
{
    /**
     * 关联的数据表。
     *
     * @var string
     */
    protected $table = 'user_signin';
    /**
     * 属性默认值。
     *
     * @var array<int, string>
     */
    protected $attribute = [
        'date' => 0,  // 日期
    ];
    /**
     * The attributes that are mass assignable.
     *
     * @var array<string>
     */
    protected $field = [
        'user_id', // 用户
        'date',  // 日期
    ];
    /**
     * The attributes that are mass assignable.
     *
     * @var array<string>
     */
    protected $type = [
        'user_id' => 'integer', // 用户
        'date' => 'integer',  // 日期
    ];
    // 查询范围
    public function scopeUser($query)
    {
        $query->where('user_id', request()->uid);
    }
    /**
     * 用户
     *
     * @return void
     */
    public function user() : BelongsTo
    {
        return $this->belongsTo('User','user_id')->bind(['user_name' => 'mobile']);
    }
    public function searchUserIdAttr($query, $value, $data)
    {
        $value > 0 && $query->where('user_id', $value);
    }
    public function searchDateAttr($query, $value, $data)
    {
        !empty($value) && $query->where('date', strtotime($value . ' 12:00:00'));
    }
    /*
     * 新增前
     */
    public static function onBeforeInsert($model)
    {
        $model->user_id = request()->uid;
    }   
}
